package com.rescue.service;

import com.rescue.forum.dto.*;
import com.rescue.forum.vo.AdminGetAttachmentVO;
import com.rescue.forum.vo.ArticleDetailVO;
import com.rescue.forum.vo.DownloadFileVO;
import com.rescue.result.PageResult;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;
import java.util.List;

@Service
public interface ArticleService {
    PageResult page(ArticlePageQueryDTO articlePageQueryDTO);

    void deleteById(String articleId);

    void updateBoard(UpdateBoardDTO updateBoardDTO);

    List<AdminGetAttachmentVO> getAttachment(String articleId);

    void topArticle(String articleId, Integer topType);

    void auditArticle(String articleId);

    PageResult getUserIssue(Integer userId);

    PageResult getUserComment(Integer userId);

    PageResult getUserLike(Integer userId);

    void save(PublishArticleDTO publishArticleDTO);

    PageResult list(QueryArticleDTO queryArticleDTO);

    ArticleDetailVO getDetail(String articleId);

    PageResult search(SearchDTO searchDTO);

    void doLike(String articleId, Integer type);

    DownloadFileVO download(String fileId);

    void userDeleteById(String articleId);

    Integer getArticleCount(LocalDateTime localDateTime);

}
